home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib09.dsk / DIRECT CURSOR DEMO.bas < prev    next >
BASIC Source File  |  2023-02-26  |  4KB  |  57 lines

  1. 1  REM  ******************************
  2. 2  REM  *  << DIRECT CURSOR DEMO >>  *
  3. 3  REM  *    BY PHILLIP R. ROWLEY    *
  4. 4  REM  *     COPYRIGHT (C) 1982     *
  5. 5  REM  *     BY MICRO-SPARC INC     *
  6. 6  REM  *     LINCOLN, MA. 01773     *
  7. 7  REM  *     ALL RIGHTS RESERVED    *
  8. 8  REM  ******************************
  9. 9  REM  >>> LOWER CASE LETTERS ARE CTRL LETTERS <<<
  10. 20  HIMEM: 38060
  11. 30  PRINT  CHR$(4)"BRUN DIRECT CURSOR CONTROL"
  12. 40  TEXT : HOME 
  13. 50 Q$ =  CHR$(34): REM   QUOTATION MARKS
  14. 60  PRINT "<CTRL-I>!40 ";: FOR T = 0 TO 10: PRINT "<CTRL-I> <CTRL-N>!38<CTRL-R><CTRL-I> <CTRL-N>";: NEXT : PRINT "<CTRL-I>!40 <CTRL-N>"
  15. 70  PRINT "!3<CTRL-B>!9<CTRL-R>DIRECT CURSOR CONTROL"
  16. 80  PRINT "!5<CTRL-B>!9<CTRL-R>BY PHILLIP R. ROWLEY"
  17. 110  PRINT "!24<CTRL-B>PRESS A KEY TO CONTINUE <CTRL-W><CTRL-C>"
  18. 120  PRINT "THE FOLLOWING OPTIONS ARE AVAILABLE :-<CTRL-A>!38<CTRL-V>"
  19. 130  PRINT "!5<CTRL-B>"
  20. 140  PRINT "<CTRL-I>A<CTRL-N>   PRINT CARRAIGE RETURN"
  21. 150  PRINT "<CTRL-I>B<CTRL-N>   'ABSOLUTE VTAB'"
  22. 160  PRINT "<CTRL-I>C<CTRL-N>   CLEAR SCREEN = HOME"
  23. 170  PRINT "<CTRL-I>F<CTRL-N>   SET FLASH MODE"
  24. 180  PRINT "<CTRL-I>I<CTRL-N>   SET NORMAL MODE"
  25. 190  PRINT "<CTRL-I>K<CTRL-N>   MOVE CURSOR DOWN"
  26. 200  PRINT "<CTRL-I>L<CTRL-N>   MOVE CURSOR LEFT"
  27. 210  PRINT "<CTRL-I>N<CTRL-N>   SET NORMAL MODE"
  28. 220  PRINT "<CTRL-I>O<CTRL-N>   CLEAR TO END-OF-LINE"
  29. 230  PRINT "<CTRL-I>P<CTRL-N>   USER PROMPT"
  30. 240  PRINT "<CTRL-I>Q<CTRL-N>   CLEAR TO END-OF-PAGE"
  31. 250  PRINT "<CTRL-I>R<CTRL-N>   MOVE CURSOR RIGHT"
  32. 260  PRINT "<CTRL-I>T<CTRL-N>   PRINT <CTRL-T><CTRL-T><CTRL-T>"
  33. 270  PRINT "<CTRL-I>V<CTRL-N>   UNDERLINE CHARACTER"
  34. 280  PRINT "<CTRL-I>W<CTRL-N>   WAIT FOR KEYPRESS"
  35. 290  PRINT "<CTRL-I>Y<CTRL-N>   DELAY"
  36. 300  PRINT "<CTRL-I>Z<CTRL-N>   MOVE CURSOR UP"
  37. 310  PRINT "!24<CTRL-B>PRESS A KEY TO CONTINUE <CTRL-W><CTRL-C>"
  38. 320  PRINT "!4<CTRL-B>!5 MULTIPLE PRINT DIRECTIVE :- !!<CTRL-A>!5 !29="
  39. 330  PRINT "!8<CTRL-B>ANY CHARACTER OR COMMAND MAY BE<CTRL-A>REPEATED UP TO 255 TIMES BY USING THE<CTRL-A>'!!' DIRECTIVE"
  40. 340  PRINT "!12<CTRL-B>E.G. PRINT"Q$"*"Q$" GIVES :- *"
  41. 350  PRINT "!14<CTRL-B>BUT PRINT"Q$"!!15*"Q$" GIVES !15*"
  42. 360  PRINT "!18<CTRL-B>ANY ATTEMPT TO USE A VALUEaGREATER THAN 255 IN A MULTIPLE <CTRL-A>DIRECTIVE WILL GIVE A "Q$"SYNTAX<CTRL-A>ERROR"Q$" MESSAGE"
  43. 370  PRINT "!24<CTRL-B>PRESS A KEY TO CONTINUE <CTRL-W><CTRL-C>";
  44. 380  PRINT "!8 'ABSOLUTE VTAB' COMMAND<CTRL-A>!8 !23+"
  45. 390  PRINT "!5<CTRL-B>THIS COMMAND IS SIMILAR TO THE VTAB<CTRL-A>COMMAND <CTRL-I>BUT<CTRL-N> IT REFERS TO LINES IN THE<CTRL-A>CURRENT DISPLAY WINDOW"
  46. 400  PRINT "!13<CTRL-B>THE TOP LINE OF THE DISPLAY <CTRL-I>WHATEVER<CTRL-N><CTRL-A>THE TEXT WINDOW IS ALWAYS NUMBER 1<CTRL-A>THEREFORE THE COMMAND 'CONTROL-B ON ITS OWN IS A <CTRL-I>TRUE<CTRL-N> HOME I.E. WITHOUT<CTRL-A>CLEARING WINDOW"
  47. 410  PRINT "<CTRL-A>ATTEMPTING TO MOVE THE CURSOR PAST THE<CTRL-A>BOTTOM EDGE OF THE WINDOW <CTRL-I>USING THE ABS VTAB COMMAND<CTRL-N> WILL BE SIGNALLED BY A "Q$"SYNTAX ERROR"Q$" MESSAGE"
  48. 420  PRINT "!24<CTRL-B>PRESS A KEY TO CONTINUE <CTRL-W><CTRL-C>";
  49. 430  PRINT "!4<CTRL-B>!4 EXAMPLE OF DIRECT CURSOR CONTROL<CTRL-A>!4 !32%"
  50. 440 P1$ = "!13<CTRL-B>!10<CTRL-R>":P2$ = "!13<CTRL-B>!26<CTRL-R>"
  51. 450 DI$(1) = "<CTRL-I>   <CTRL-K><CTRL-L><CTRL-L><CTRL-L> * <CTRL-K><CTRL-L><CTRL-L><CTRL-L>   <CTRL-N>"
  52. 460 DI$(2) = "<CTRL-I>*  <CTRL-K><CTRL-L><CTRL-L><CTRL-L>   <CTRL-K><CTRL-L><CTRL-L><CTRL-L>  *<CTRL-N>"
  53. 470 DI$(3) = "<CTRL-I>*  <CTRL-K><CTRL-L><CTRL-L><CTRL-L> * <CTRL-K><CTRL-L><CTRL-L><CTRL-L>  *<CTRL-N>"
  54. 480 DI$(4) = "<CTRL-I>* *<CTRL-K><CTRL-L><CTRL-L><CTRL-L>   <CTRL-K><CTRL-L><CTRL-L><CTRL-L>* *<CTRL-N>"
  55. 490 DI$(5) = "<CTRL-I>* *<CTRL-K><CTRL-L><CTRL-L><CTRL-L> * <CTRL-K><CTRL-L><CTRL-L><CTRL-L>* *<CTRL-N>"
  56. 500 DI$(6) = "<CTRL-I>* *<CTRL-K><CTRL-L><CTRL-L><CTRL-L>* *<CTRL-K><CTRL-L><CTRL-L><CTRL-L>* *<CTRL-N>"
  57. 510  FOR T = 0 TO 250: PRINT P1$DI$( RND(1) *6.5)P2$DI$( RND(1) *6.5): NEXT